1. Field of the Invention.
The present invention relates to an apparatus for generating a triangular mesh used to discretize an equation in the numerical analysis of an equation.
2. Description of the related art.
In a conventional scheme, when a numerical analysis e.g., a thermal conductance equation, is to be performed, a domain to be analyzed is discretized by the finite-difference method or finite-element method, thereby obtaining a temperature distribution or the like. When a domain to be analyzed is a two-dimensional space, an equation is discretized by dicretized by dividing the domain using a triangular or rectangular mesh. In order to obtain a high-precision solution with respect to a domain of complex shape, the domain is preferably divided using a triangular mesh, especially preferably, regular triangular mesh. Precision and calculation speed of a solution in numerical analysis heavily depend on such a mesh structure.
A conventional triangular mesh generation apparatus is described in Edward A. Sader, "A Scheme for the Automatic Generation of Triangular Finite Elements", International Journal For Numerical Method In Engineering, vol. 15, 1980, pp. 1813-1822. According to this method, new nodes are sequentially obtained inside a domain surrounded by string nodes, and a triangular element is generated by three nodes. The rules of generation can be divided into the following three cases depending on internal boundary angle .theta. of node i as shown in FIG. 1. EQU .theta..ltoreq.90.degree. (1)
As shown in FIG. 2A, a triangular element is generated by node i and its adjacent nodes i-1 and i+1 without generating a new node. EQU 90.degree.&lt;.theta..ltoreq.150.degree. (2)
As shown in FIG. 2B, node j1 is obtained on a line dividing angle .theta. into two equal parts at distance l1 from node i. Then, two triangular elements are respectively generated by nodes i, i-1, and j1, and nodes i, i+1, and j1.
In this case, l1=.sqroot.d.sub.i-1 .times.d.sub.i d.sub.i-1 is the distance between nodes i and i-1, and d.sub.i is the distance between nodes i and i+1. Since the two triangular elements are similar to each other, l1/d.sub.i-1 =d.sub.i /l1. EQU 150.degree.&lt;.theta..ltoreq.180.degree. (3)
As shown in FIG. 2C, node j2 is obtained on one of two lines dividing angle .theta. into three equal parts at distance l2 from node i, and node j3 is obtained on the other line at distance l3 from node i. Then, three triangular elements are respectively generated by nodes i, i-1, and j2, nodes i, j2, and j3, and nodes i, i+1, and j3. ##EQU3##
Similarly, in this case, since the three triangular elements are similar to each other, the following relation is obtained: EQU l2/d.sub.1-1 =l3/l2=d.sub.i /l3
Upon generation of the triangular element, node i is removed from the string nodes defining a generation domain, and nodes j1, j2, and j3 are newly added to the string nodes. Then, mesh generation processing is repeatedly performed with respect to each node until the above-described rules are no longer satisfied.
However, the nodes of the triangular mesh generated by this method heavily depend on the initial intervals of string nodes which define a generation domain. If the initial intervals of the string nodes are substantially uniform, substantially regular triangles are generated. If the intervals greatly vary depending on the nodes, triangular elements having nonuniform sizes may be generated. In this case, the obtuse triangular elements are generated in addition to the substantial regular triangles.
If a domain to be analyzed is discretized by a mesh including an obtuse triangular element, a discretization error is increased. In this case, if a problem having a convection is to be analyzed, the solution does not converge and precision of the solution is greatly degraded. In another case, it may take a very long period of time for the solution to converge. It is most preferable to generate regular triangular elements (their sizes may vary so as to meet the requirements of discretization).
Another conventional scheme is described in Hideo Yamashita, and Eihachiro Nakamae, "An Automatic Triangular Mesh Generation for Finite Element Analysis", Transaction of the Information Processing Society of Japan, vol. 21, No. 3, 1980, May, pp. 183-190. This scheme is a scheme for relaxing the triangular mesh by moving a node for constituting a mesh element to the center of gravity of surrounding nodes upon generation of the triangular mesh. However, in some cases, it may not be preferable to move the node to the center of gravity depending on the positions of the surrounding nodes. For example, when the surrounding nodes are arranged on a single line except for one node, the center of gravity comes close to the line, resulting in many obtuse triangular elements.